package cn.itcast.user.service;

import cn.itcast.user.mapper.UserMapper;
import cn.itcast.user.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public User queryById(Long id) {
        test();
        return userMapper.findById(id);
    }

    /***
     * 事务失效场景 ：
     * 1.业务层方法修饰符设置为private
     * 2.业务层方法逻辑采用Try Catch  没有再次在catch抛出异常
     * 3.当前业务对象 调用 其他方法 本质上 变成当用当前类对象方法
     */
    @Transactional
    public void test() {
        try {
            //sql1
            //sql2
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
